package bean

// Git 相关设置
type GitSyncConfig struct {
	Username string `json:"username"`
	Email    string `json:"email"`
}

// 外观设置
type AppearanceConfig struct {
	// 窗体宽度
	AppWidth int `json:"appWidth"`
	// 窗体高度
	AppHeight int `json:"appHeight"`
	// 缩放模式
	AppResize int8 `json:"appResize"`
	// 笔记主题
	AppTheme string `json:"appTheme"`
	// 编辑器主题
	EditorTheme string `json:"editorTheme"`
	// 图片模式
	AppBKMode string `json:"appBkMode"`
	// 默认背景
	DefaultBK string `json:"defaultBk"`
	// 自定义背景
	CustomBk string `json:"customBk"`
	// 默认背景数据集
	DefaultBkDataSet []*DefaultBk `json:"defaultBks"`
	// 编辑器主题数据集
	EditorThemeDataSet map[string][]string `json:"editorThemes"`
}

// 用户配置资源信息
type AppReourceInfo struct {
	// App主题信息
	AppTheme string `json:"appTheme"`
	// 编辑器主题信息
	EditorTheme string `json:"editorTheme"`
	// 背景图片信息
	BKImage string `json:"bkImage"`
}

type DefaultBk struct {
	Name string `json:"name"`
	Url  string `json:"url"`
}

type NoteTextConf struct {
	// 文本类型名称
	Name string `json:"name"`
	// 文本类型后缀
	Suffixs []string `json:"suffixs"`
	// 是否启用
	Enable bool `json:"enable"`
	// 是否可编辑（默认的文本格式，不可修改）
	Editable bool `json:"editable"`
}

func GetNustDBBucketOfUserSet() string {
	return "bucket-user-setting"
}

func GetNustDBKeyOfAppearanceSetting() string {
	return "appearance-settings"
}

func GetNustDBKeyOfGitSyncSetting() string {
	return "git-sync-settings"
}

func GetNustDBKeyOfNoteTextConf() string {
	return "note-text-config"
}

func GetDefaultAppearanceSetting() *AppearanceConfig {
	appearanceSetting := &AppearanceConfig{
		AppWidth:    2000,
		AppHeight:   1200,
		AppResize:   0x0,
		AppTheme:    "light",
		EditorTheme: "eclipse",
		AppBKMode:   "default",
		DefaultBK:   "/assets/static/image/background/doraemon.jpeg",
		CustomBk:    "",
	}
	return appearanceSetting
}

func GetDefaultGitSyncSetting() *GitSyncConfig {
	return &GitSyncConfig{
		Username: "Lucidity-Note",
		Email:    "",
	}
}
